package nio;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.*;
import java.net.URL;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

/**
 * @Author: Dgg
 * @Date: 2021/11/24 22:11
 */
// 读数据
public class NioChannelTest_2 {
	private static String str = "Learn and live.";

	public static void main(String[] args) throws IOException {

		// /** 创建file对象，构造方法填入文件对应路径 */
		// File file = new File(FilePathConstants.filePath + str +
		// FilePathConstants.format);
		// /** 获取文件对应的文件类型输入输入流 */
		// FileInputStream fileInputStream = new FileInputStream(file);
		// // 通过输入流对象获取文件管道channel
		// FileChannel channel = fileInputStream.getChannel();
		// // 创建byteBufeer 缓冲区
		// ByteBuffer allocate = ByteBuffer.allocate((int) file.length());
		//
		// // 将通道数据读入到 buffer 中
		// channel.read(allocate);
		// //将缓冲区数据 转换成 String
		// System.out.println("文字：" + new String(allocate.array()));
		// //关闭流
		// fileInputStream.close();

		updateNickName();
	}

	public static String updateNickName() {

		// InputStream inputStream =
		// this.getClass().getResourceAsStream("/prohibited.txt");
		FileInputStream fileInputStream = null;
		try {
			File file = new File("D:\\个人\\新建文本文档.txt");
			/** 获取文件对应的文件类型输入输入流 */
			fileInputStream = new FileInputStream(file);
			// 通过输入流对象获取文件管道channel
			FileChannel channel = fileInputStream.getChannel();
			// 创建byteBufeer 缓冲区
			ByteBuffer allocate = ByteBuffer.allocate((int) file.length());

			// 将通道数据读入到 buffer 中
			channel.read(allocate);
			// 将缓冲区数据 转换成 String
			System.out.println("文字：" + new String(allocate.array()));
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (fileInputStream != null) {
					fileInputStream.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		// 关闭流

		return null;
	}
}
